package com.study.kt._01grammar._02oop

fun main() {

    //此时没有为phone指定类型，自动转换为Huawei类型，所以可以调用方法
   /* val phone = Huawei()
    phone.hua()*/

    val phone: Phone = Huawei()
    //用父类接收，无法调用自类的方法
    //phone.hua() 编译报错
    //使用类型判断 is相当于Java的instanceOf as相当于Java使用()强转
    if (phone is Huawei){
       /* val p = phone as Huawei
        p.hua()*/

        //在kotlin中使用了is类型判断 就不需要进行强转,phone自动推断为Huawei
        phone.hua()
    }
}

open class Phone

class Xiaomi : Phone() {
    fun mi() {
        println("我是小米")
    }
}

class Huawei : Phone() {
    fun hua() {
        println("我是华为")
    }
}